1. Field of the Invention
This invention generally relates to wireless communications telephony and, more particularly, to a system and method for selecting and implementing optimal Short Message Service (SMS) message encoding in a wireless communications device having SMS capabilities.
2. Description of the Related Art
SMS is a text message service that enables short messages of generally no more than 140-160 characters in length to be transmitted from, and received by a wireless communications device. SMS was introduced in the Global System for Mobile Communications system and now is supported by a majority of other digital-based mobile communications systems. Unlike paging, in an SMS system, messages are stored in and forwarded to SMS centers. SMS messages travel to wireless communications devices over the wireless communication coverage network control channel, which is separate and apart from the voice (traffic) channel.
SMS messages are encoded for transmission and receiving using encoding formats such as seven-bit ASCII, ISO Latin 1, or Unicode. Most standard wireless communications devices are equipped to receive SMS messages and can typically receive SMS messages in more than one format. However, some wireless devices can only receive SMS messages encoded in a single format, such as seven-bit ASCII. Mobile Origination (MO) is a feature of SMS that allows a wireless communications device user to generate and transmit SMS messages from their wireless device. The text character sets supported by the various encoding formats noted above vary in complexity. However, in general, the more complex the character set in an SMS message, the greater the memory usage required for encoding the message. Among the formats typically available for use in encoding SMS messages, seven-bit ASCII has the smallest memory footprint (uses the smallest amount of wireless device memory per text character). Seven-bit ASCII, as the name implies, uses seven bits in one byte to encode each text character and can be used to encode English language messages with a minimum of special characters. The ISO Latin 1 format uses eight bits in one byte to encode each character. ISO Latin 1 has a larger character set than seven-bit ASCII and can be used to encode some non-English language messages (for example, Spanish) and a larger number of special characters, as well as, English language messages. Due to the use of the eighth bit per character, ISO Latin 1 uses more memory per text character than seven-bit ASCII. Other formats use still more memory. Unicode, for example, uses two eight bit bytes per text character. Unicode, however, can be used to encode a larger number of special characters, as well as, a greater number of languages. Characters in an SMS message outside the range of the particular format used for the encoding are dropped from the message. For example, a “ñ” in a Spanish-language SMS message is dropped from the message (not encoded) if seven-bit ASCII is used to encode the message.
It is known to preset the encoding format for transmitting and receiving SMS messages in a wireless device at the factory. However, presetting the format can result in incompatibilities between wireless devices and/or restrictions in the encoding formats usable by wireless devices. For example, a wireless device preset with seven-bit ASCII is compatible with other wireless devices transmitting English-language SMS messages, but the same wireless device is not compatible with other wireless devices transmitting foreign-language or special character messages encoded in ISO Latin 1. Therefore, it is known to preset wireless devices with seven-bit ASCII to ensure compatibility with other devices that may be formatted in seven-bit ASCII. Unfortunately, as described above, presetting a wireless device with seven-bit ASCII can create incompatibilities with devices preset to formats such as ISO Latin 1 and limits the preset device to English-language SMS messages.
Presetting the format also does not allow the wireless device to adapt to SMS messages and results in the use of encoding formats having an unnecessarily large memory requirement or the loss of message content. For example, a format preset for ISO Latin 1 uses one bit more memory per character to encode an English-language message than does seven-bit ASCII, but drops characters that are only supported by Unicode.
Increased memory usage for encoding an SMS message in a wireless device can create problems for at least three reasons. First, the total number of bits (memory usage) that can be included in an SMS message is limited. Therefore, using an encoding format that supports an unnecessarily large character set reduces the length of the SMS message that can be sent or received. For example, if an encoded SMS message is limited to 448 bits, a 64 character English language message (7 bits per character) can be sent in seven-bit ASCII, while only a 56 character English language message (eight bits per character) can be sent in ISO Latin 1.
Second, the greater the number of bits in an SMS message, the greater the bandwidth requirements. Typically, the result is a longer transmission time with subsequent increases in network time usage and increased costs for the wireless device user. Third, memory storage in a wireless device is limited by cost and available space, and increasing the memory usage associated with encoding an SMS message reduces the amount of memory storage available in the wireless device for other functions.
It would be advantageous if an SMS enabled wireless communications device could evaluate an SMS message, select an optimal encoding format having the lowest memory usage for encoding the message, and encode the SMS message in the optimal format.